/*
 * User: rant
 * Date: 25/12/2006
 *
 *
 */
package laMalinche.rete.rule;

import org.jetbrains.annotations.NotNull;

import java.util.*;

/**
 *
 */
public interface ProductionRule {
	int getPriority();

	BusinessRuleType getProductionRuleType();

	void setProductionRuleType(BusinessRuleType type);

	List<Condition> getConditions();

	Action getAction();

	String getName();

	void setAction(final Action action);

	void accept(@NotNull final ProductionRuleVisitor visitor);

    String getTrigeredBy();
    void setTrigeredBy(String s);
}